package leave.dataaccess;

import leave.exception.DataAccessException;
import leave.model.*;
import leave.status.LeaveStatus;

public interface LeaveDAO {
	Leave getNewLeaveApplication();
	Leave[] getLeaveTransactions(Employee employee) throws Exception;
	Leave[] getPendingLeaveTransactions(Employee employee) throws Exception;
	Leave getLeaveByID(int leaveID) throws Exception;
	void addNewLeave(Leave leaveApplication) throws Exception;
	void updateLeave(Leave leaveApplication) throws Exception;
	void deleteLeave(Leave leaveApplication) throws DataAccessException;
	
	void updateLeaveStatus(int leaveID, String status, int approvedEmpID, String comment) throws DataAccessException;
}
